package com.demo.java.OD101_150.OD139;


import java.util.Arrays;
import java.util.Scanner;

/**
 * @author bug菌
 * @Source 公众号：猿圈奇妙屋
 * @des： 【第 K 个最小码值的字母】问题
 * @url： https://blog.csdn.net/weixin_43970743/article/details/145731077
 */
public class OdMain {
    public static void main(String[] args) {
        // 使用 try-with-resources 来确保 Scanner 在结束后自动关闭
        try (Scanner s = new Scanner(System.in)) {
            // 读取输入的第一行字符串
            String line = s.nextLine();
            // 读取输入的整数 k
            int k = s.nextInt();
            // 调用 solveMethod 方法来处理字符串和整数 k
            solveMethod(line, k);
        }
    }

    // solveMethod 方法：根据输入字符串和整数 k 输出指定字符的首次索引位置
    private static void solveMethod(String line, int k) {
        // 将输入的字符串转换为字符数组
        char[] chars = line.toCharArray();

        // 对字符数组进行升序排序
        Arrays.sort(chars);

        // 如果 k 大于等于字符数组的长度，则取字符数组中最后一个字符
        // 否则，取字符数组中第 k 个字符（注意是 k-1，因为数组是从 0 开始的）
        char c = k >= chars.length ? chars[chars.length - 1] : chars[k - 1];

        // 输出该字符在原字符串中的首次出现位置
        System.out.print(line.indexOf(c));
    }
}